#pragma once

#include "Headers.h"

namespace CinePerfil
{
	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;

	public ref class Favorite_Genres_Window : public System::Windows::Forms::Form
	{
	public:
		Favorite_Genres_Window(Account *a)
		{
			account = a;
			InitializeComponent();
			FGW_load_GenresChecked();
		}

	protected:
		~Favorite_Genres_Window()
		{
			if (components)
			{
				delete components;
			}
		}
	private: Account *account;
	private: System::Windows::Forms::Button^  FGW_saveButton;
	private: System::Windows::Forms::Button^  FGW_cancelButton;
	private: System::Windows::Forms::CheckedListBox^  FGW_genresCheckBoxList;
	private: System::Windows::Forms::Label^  FGW_titleLabel;
	private: System::ComponentModel::Container ^components;
		
#pragma region Windows Form Designer generated code

		void InitializeComponent(void)
		{
			System::ComponentModel::ComponentResourceManager^  resources = (gcnew System::ComponentModel::ComponentResourceManager(Favorite_Genres_Window::typeid));
			this->FGW_saveButton = (gcnew System::Windows::Forms::Button());
			this->FGW_cancelButton = (gcnew System::Windows::Forms::Button());
			this->FGW_genresCheckBoxList = (gcnew System::Windows::Forms::CheckedListBox());
			this->FGW_titleLabel = (gcnew System::Windows::Forms::Label());
			this->SuspendLayout();
			// 
			// FGW_saveButton
			// 
			this->FGW_saveButton->Cursor = System::Windows::Forms::Cursors::Hand;
			this->FGW_saveButton->Font = (gcnew System::Drawing::Font(L"Comic Sans MS", 11.25F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, 
				static_cast<System::Byte>(0)));
			this->FGW_saveButton->Location = System::Drawing::Point(122, 250);
			this->FGW_saveButton->Name = L"FGW_saveButton";
			this->FGW_saveButton->Size = System::Drawing::Size(150, 65);
			this->FGW_saveButton->TabIndex = 0;
			this->FGW_saveButton->Text = L"Save";
			this->FGW_saveButton->UseVisualStyleBackColor = true;
			this->FGW_saveButton->Click += gcnew System::EventHandler(this, &Favorite_Genres_Window::FGW_saveButton_Click);
			// 
			// FGW_cancelButton
			// 
			this->FGW_cancelButton->Cursor = System::Windows::Forms::Cursors::Hand;
			this->FGW_cancelButton->Font = (gcnew System::Drawing::Font(L"Comic Sans MS", 11.25F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, 
				static_cast<System::Byte>(0)));
			this->FGW_cancelButton->Location = System::Drawing::Point(362, 250);
			this->FGW_cancelButton->Name = L"FGW_cancelButton";
			this->FGW_cancelButton->Size = System::Drawing::Size(150, 65);
			this->FGW_cancelButton->TabIndex = 1;
			this->FGW_cancelButton->Text = L"Cancel";
			this->FGW_cancelButton->UseVisualStyleBackColor = true;
			this->FGW_cancelButton->Click += gcnew System::EventHandler(this, &Favorite_Genres_Window::FGW_cancelButton_Click);
			// 
			// FGW_genresCheckBoxList
			// 
			this->FGW_genresCheckBoxList->BackColor = System::Drawing::Color::LightGoldenrodYellow;
			this->FGW_genresCheckBoxList->CheckOnClick = true;
			this->FGW_genresCheckBoxList->ColumnWidth = 165;
			this->FGW_genresCheckBoxList->Cursor = System::Windows::Forms::Cursors::Hand;
			this->FGW_genresCheckBoxList->Font = (gcnew System::Drawing::Font(L"Comic Sans MS", 11.25F, System::Drawing::FontStyle::Regular, 
				System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0)));
			this->FGW_genresCheckBoxList->FormattingEnabled = true;
			this->FGW_genresCheckBoxList->Items->AddRange(gcnew cli::array< System::Object^  >(19) {L"Action", L"Adventure", L"Animation", 
				L"Biography", L"Comedy", L"Crime", L"Documentary", L"Drama", L"Fantasy", L"History", L"Horror", L"Musical", L"Mystery", L"Romance", 
				L"Sci-Fi", L"Sport ", L"Thriller", L"War", L"Western"});
			this->FGW_genresCheckBoxList->Location = System::Drawing::Point(67, 72);
			this->FGW_genresCheckBoxList->MultiColumn = true;
			this->FGW_genresCheckBoxList->Name = L"FGW_genresCheckBoxList";
			this->FGW_genresCheckBoxList->Size = System::Drawing::Size(500, 165);
			this->FGW_genresCheckBoxList->TabIndex = 2;
			this->FGW_genresCheckBoxList->ThreeDCheckBoxes = true;
			this->FGW_genresCheckBoxList->UseCompatibleTextRendering = true;
			// 
			// FGW_titleLabel
			// 
			this->FGW_titleLabel->AutoSize = true;
			this->FGW_titleLabel->BackColor = System::Drawing::Color::Transparent;
			this->FGW_titleLabel->Font = (gcnew System::Drawing::Font(L"Comic Sans MS", 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, 
				static_cast<System::Byte>(0)));
			this->FGW_titleLabel->Location = System::Drawing::Point(32, 45);
			this->FGW_titleLabel->Name = L"FGW_titleLabel";
			this->FGW_titleLabel->Size = System::Drawing::Size(217, 23);
			this->FGW_titleLabel->TabIndex = 3;
			this->FGW_titleLabel->Text = L"Select your favorite genres:";
			// 
			// Favorite_Genres_Window
			// 
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
			this->BackgroundImage = (cli::safe_cast<System::Drawing::Image^  >(resources->GetObject(L"$this.BackgroundImage")));
			this->ClientSize = System::Drawing::Size(634, 337);
			this->ControlBox = false;
			this->Controls->Add(this->FGW_titleLabel);
			this->Controls->Add(this->FGW_genresCheckBoxList);
			this->Controls->Add(this->FGW_cancelButton);
			this->Controls->Add(this->FGW_saveButton);
			this->MaximumSize = System::Drawing::Size(650, 375);
			this->MinimumSize = System::Drawing::Size(650, 375);
			this->Name = L"Favorite_Genres_Window";
			this->SizeGripStyle = System::Windows::Forms::SizeGripStyle::Hide;
			this->StartPosition = System::Windows::Forms::FormStartPosition::CenterParent;
			this->Text = L"CinePerfil - Favorite Genres Management";
			this->ResumeLayout(false);
			this->PerformLayout();

		}
#pragma endregion
	private: 
		System::Void FGW_saveButton_Click(System::Object^  sender, System::EventArgs^  e);
		System::Void FGW_cancelButton_Click(System::Object^  sender, System::EventArgs^  e);
		System::Void FGW_load_GenresChecked(void);
	};
}
